package com.cdut.hezhisu.dribbble.view;

import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ZhaoHongBin
 * created at 2015/11/3 11:43
 */
public class MultiColorView extends FlowLayout implements OnClickListener {

	private final List<String> mColors = new ArrayList<String>();
	private Context mContext;
	/**
	 * @param context
	 */
	public MultiColorView(Context context) {
		super(context);
		init(context);
	}

	/**
	 * @param context
	 * @param attributeSet
	 */
	public MultiColorView(Context context, AttributeSet attributeSet) {
		super(context, attributeSet);
		init(context);
	}
	
	public int getLineCount(){
		return lineCount;
	}
	
	/**
	 * @param context
	 * @param attributeSet
	 * @param defStyle
	 */
	public MultiColorView(Context context, AttributeSet attributeSet, int defStyle) {
		super(context, attributeSet, defStyle);
		init(context);
	}

	@Override
	public void onClick(View v) {
	}

	private void init(Context context) {
		this.mContext = context;

	}

	private void inflateTagView(String color) {

		TagView localTagView = new TagView(mContext);
		localTagView.init(mContext, color);
		localTagView.setTag(color);
		addView(localTagView);
	}

	public void addContacts(String color) {
		mColors.add(color);
		inflateTagView(color);
	}

	public void addContacts(List<String> lists) {
		for (int i = 0; i < lists.size(); i++) {
			addContacts(lists.get(i));
		}
	}

	public List<String> getColors() {
		return mColors;
	}

	public View getViewByTag(String color) {
		return findViewWithTag(color);
	}

	public void removeContacts(String color) {
		mColors.remove(color);
		removeView(getViewByTag(color));

	}


	public void setContacts(List<String> lists) {
		removeAllViews();
		mColors.clear();
		if(lists != null){
			for (int i = 0; i < lists.size(); i++) {
				addContacts(lists.get(i));
			}
		}
		

	}

}
